--- title: "Cómo representar a las Islas Malvinas en R y en QGIS" subtitle: "Una discusión sobre las Islas Malvinas en el mapa base de OpenStreetMap y protocolo para uso de datos del Instituto Geográfico Nacional" author: "Natalia Morandeira" aliases: [representar-Islas-Malvinas-R-QGIS] date: '2020-08-02' tags: - Islas Malvinas - Opinión - Soberanía - R - RSpatial_ES - QGIS - Leaflet - Instituto Geográfico Nacional - OSM categories: - Nota - Tutorial - R - QGIS image: caption: '[Islas Malvinas en la representación de IGN](featured.jpg)' focal_point: '' output: blogdown::html_page: toc: false number_sections: false ---
Las Malvinas son argentinas. En los mapas elaborados con herramientas digitales, las Islas Malvinas son muchas veces etiquetadas con un nombre incorrecto, no consistente con nuestro reclamo histórico y vigente de soberanía sobre las islas. ¿Por qué los argentinos y argentinas generan mapas con un nombre distinto a “Islas Malvinas”? Al discutirlo con colegas, me he encontrado con personas que:
Los mapas son una herramienta poderosa de comunicación política: nos permiten plasmar nuestra visión sobre el territorio. Considero inadmisible que las Islas Malvinas tengan un nombre incorrecto en los mapas que producimos argentinos y argentinas, así como en las publicaciones editadas en el país. Nuestro reclamo patriótico de soberanía sobre las islas no puede ser menoscabado por errores en las representaciones del territorio. Usar los nombres que intentan imponer quienes ilegalmente usurpan el territorio insular de la provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur es también una ofensa a nuestros caídos en los intentos por recuperar las Islas. Por estos motivos, me interesa aportar a difundir la problemática y a que más personas puedan resolver sus problemas de representación de las Islas Malvinas en la cartografía generada con herramientas digitales.
Este documento está dirigido a todas aquellas personas que quieran hacer mapas en R o QGIS (dos entornos con software libre) y que entiendan del reclamo de Argentina de soberanía sobre las Islas Malvinas.
A su vez, el documento está dirigido a quienes ya conozcan el mapa base Argenmap v2 del Instituto Geográfico Nacional y quieran promover su uso en R o QGIS.
Si bien no proveo una solución explícita para Python ni para otros softwares/lenguajes libres, invito a contribuir a quienes lo deseen: posiblemente algo de lo aquí documentado pueda ser de utilidad. Para páginas web en las que se use Leaflet, la solución documentada para R es válida. Por otro lado, en los softwares privativos de Sistemas de Información Geográfica muy probablemente podrá utilizarse la solución provista para QGIS, basada en XYZ tiles. El repositorio del proyecto en Github está en: https://github.com/nmorandeira/IGN_Malvinas.
Este documento provee una discusión sobre los orígenes del problema de representación de las Islas Malvinas y algunas herramientas para resolverlo. Quienes sólo tengan interés en la solución práctica, pueden saltearse el próximo apartado sobre el origen del problema e ir a la sección Protocolo para R ó Protocolo para QGIS.
El documento fue redactado en julio de 2020, con colaboración de Malena Libman (Geochicas OSM) que señaló por dónde iba la solución: usar como mapa base a Argenmap v2, un gran trabajo elaborado por el Instituto Geográfico Nacional (IGN) de la República Argentina.
Agradezco también a Priscilla Minotti por los comentarios que mejoraron el script de R y por sugerirme escribirlo en RMarkdown y publicarlo online, a Yanina Bellini por la ayuda para publicarlo en un sitio web y en general a R-Ladies (Buenos Aires, Santa Rosa y General Pico) por varios talleres y por la ayuda con Rmd y Git. Finalmente, agradezco a Santiago Mouradian, Facundo Daelli y José Hernández por los debates que mejoraron este documento.
Hay dos tipos de problemas en la representación de las Islas Malvinas y ambos se relacionan con el origen de los datos geográficos utilizados. Las soluciones indicadas tienen que ver con usar los datos oficiales de Argentina, elaborados y publicados por el Instituto Geográfico Nacional.
Los objetos geográficos con representación de tipo vectorial (o “datos vectoriales”) representan principalmente puntos, líneas ó polígonos. Si queremos elaborar un mapa temático con información de Argentina, en el que representemos con distinto color o tono alguna variable por provincia, podemos utilizar un objeto vectorial de polígonos (“provincias de Argentina”). En ese caso, hay que tener cuidado con la fuente de los datos: ¿qué pasa si está incompleta la Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur? Quedaría incompleto el mapa de nuestro territorio.
Otro ejemplo puede ser el uso de un mapa global, con todos los países, en el que queremos asignarle a cada país un tono de acuerdo al valor de una determinada variable (un ejemplo reciente son los mapas de casos de Covid-19). ¿Qué pasa si el polígono de las Islas Malvinas no tiene como etiqueta que pertenece al país República Argentina? También quedaría incompleto el mapa de nuestro territorio.
Al representar datos espaciales (de tipo vectorial o ráster) es necesario usar un “mapa base”, es decir, incluir información sobre la localización geográfica (recomiendo la sección 27.3. del libro SIG de Víctor Olaya, en la que se abordan las diferencias entre cartografía temática y cartografía base). Podemos elaborar nuestro propio mapa base con información cartográfica básica: localidades, límites políticos, cursos de agua, etc. Sin embargo, en los últimos tiempos se utilizan mucho mapas base ya elaborados, que en principio no podemos modificar, aún cuando no siempre necesitamos –y muchas veces no es recomendable– tener mucho detalle.
Tanto en QGIS como en R (en las representaciones con Leaflet), solemos usar como mapas base a las capas de OpenStreetMap (OSM) o de otros proveedores. En QGIS, lo hacemos a través de XYZ tiles; en R a través de los proveedores de Leaflet. Estos mapas base se proveen en “tiles” (traducido como teselas), es decir, imágenes que se despliegan de acuerdo a la escala o nivel de zoom. Las teselas están subidas a los servidores de los proveedores y en principio no podemos modificarlas: si nos gustan las usamos; si no, no.
Hay muchos proveedores de Leaflet (ver más adelante, spoiler: ninguno de los usualmente listados dice “Islas Malvinas”), pero voy a enfocarme en OSM porque es uno de los más utilizados, muchas veces se usa por defecto, y porque tiene varias ventajas frente a otros. En contraste con otros proveedores de datos geográficos, OSM es libre: podemos descargar la información, usar en nuestras publicaciones mapas con sus datos y también aportar mapeando (¡como hacen muchas personas en nuestro país!). Sin embargo, OSM es un proyecto global y no reconoce nuestra soberanía sobre las islas.
¿Cómo se ven las Islas Malvinas en los mapas de OSM (los que por defecto se suelen cargar en R - Leaflet y en QGIS)? Así.
Por defecto, OSM representa los nombres en el lenguaje del país que considera local (por ejemplo, si navegamos en el mapa de OSM podemos ver que los nombres de localidades de Brasil están en portugués y los nombres de localidades de China están en chino). En el caso de las Malvinas, al asignar las islas a los “territorios británicos de ultramar” las etiqueta con el nombre “Falkland Islands”. Aquí un detalle de la información asociada a la Relación 2185374 de OSM, correspondiente al territorio de las Islas Malvinas. Copio y comento las partes más relevantes a esta discusión:
| Relación 2185374 de OSM | Comentario |
|---|---|
![]() |
El nombre asignado a la relación 2185374 ya es indicativo del problema. |
![]() |
Algunas etiquetas. Adivinen qué significa FK. |
![]() |
OSM dice que: la capital es Stanley (¿Puerto Argentino?), el idioma por defecto, según OSM, es inglés. ¿Son territorios disputados? Sí. Pero la bandera es de una jurisdicción supuestamente inglesa; y el nombre internacional es “Falkland Islands (Malvinas)” (según se señala más abajo, sería la convención de las Naciones Unidas, pero tampoco es la etiqueta que se muestra por defecto). |
![]() |
Esta etiqueta “name” es la más importante: es como por defecto se llama a las islas en todos los mapas que despleguemos. Acá está nuestro problema de mapeo. |
![]() |
Esta etiqueta “name:es” podría ser una solución parcial. Significa: “nombre en español”. Vamos más adelante sobre ese punto. |
![]() |
De aquí me interesa destacar la nota, porque me fue señalada por parte de la comunidad de OSM. La traducción literal de la nota es: “La política de OSM es que el ‘name’ (nombre) a ser utilizado es el hablado por los habitantes. Plural. Malvinas es el nombre en español, y es ingresado en name:es. La convención de las Naciones Unidas se muestra como ‘int_name’.”. Sin embargo, esta aclaración desconoce al menos dos cuestiones: 1) Hay un tema de reclamo de soberanía, no de traducción: la única traducción de Islas Malvinas al inglés es Malvinas Islands; 2) El lenguaje oficial de Argentina es el castellano o español. Por otro lado, ¿por qué OSM –que reconoce que hay un territorio en disputa– considera más conveniente usar el nombre en “name:es” y no (al menos) el nombre en “int_name” que es convención en Naciones Unidas? |
![]() |
Más información sobre las fuentes de información asociadas al objeto. Muy curioso: el objeto es parte de los “territorios británicos de ultramar”, que parecen ser territorios ocupados y colonias desperdigados por todo el mundo. |
Una solución parcial sería cargar en nuestros mapas la etiqueta name:es por defecto. ¿Qué implicaría? Que usaríamos el nombre en castellano, no sólo para las Islas Malvinas, sino para cualquier territorio, incluyendo Brasil y China (siguiendo el ejemplo de más arriba). No resuelve el problema de fondo sobre cómo se posiciona OSM ante el conflicto, pero sería una solución parcial. Sin embargo, esto no es tan fácil de hacer para usuarias/os finales (a quienes va dirigido este documento).
Una ventaja de que OSM sea libre es que los datos pueden ser descargados y vueltos a subir en otros servidores, como por ejemplo se ha hecho en OSM-Argentina, que pudo solucionar algunos problemas (el nombre de las islas) pero no otros (el nombre de ciudades y accidentes geográficos).
Por otro lado, el Instituto Geográfico Nacional (IGN) sí lo resuelve: en su Argenmap v2 representa correctamente la toponimia oficial de las jurisdicciones y accidentes geográficos de Argentina. Acá hay documentación de qué información representa Argenmap, básicamente “utiliza los datos oficiales publicados por el Instituto Geográfico Nacional a través de su servicio WMS hasta la escala 1:250.000 (es decir, a partir del nivel de zoom 12)”. Aquí pueden ver [cómo quedan representadas las Islas Malvinas] (https://mapa.ign.gob.ar/). Podemos notar que no sólo es correcto el nombre de las islas, sino también el de la “Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur”. Y también el nombre de ríos, lagunas, cerros, montañas, etc (zoom en las islas o, por qué no, en un área que cada una/o conozca, por ejemplo en los humedales del Paraná están cargados los nombres oficiales de las lagunas). Se puede leer en detalle sobre la toponimia oficial de las Islas Malvinas.
La mejor solución para nuestro problema de representación de las Islas Malvinas originado por un proveedor de mapas base es usar Argenmap v2 de IGN.
Para practicar la visualización de datos geográficos con R y QGIS, planteo un ejercicio tipo. El objetivo del ejercicio es representar las áreas protegidas de Argentina y los límites de la zona económica exclusiva (ambas capas son de IGN), con un mapa base adecuado. En particular, nos interesa representar al Área Protegida Banco Burwood II y su entorno.
El primer paso es obtener las capas de datos (áreas protegidas y límites de la zona económica exclusiva) del sitio oficial de IGN y descomprimirlas:
areasprotegidas <- tempfile()
download.file("http://ramsac.ign.gob.ar/operaciones_sig/shp_from_geoserver/download.php?f=c2hwOjphcmVhX3Byb3RlZ2lkYS56aXA%3D",areasprotegidas, mode="w")
unzip(areasprotegidas, exdir = "data/")
limite_ZEE <- tempfile()
download.file("http://ramsac.ign.gob.ar/operaciones_sig/shp_from_geoserver/download.php?f=c2hwOjpsaW5lYV9kZV9saW1pdGVfMDcwMTA3LnppcA%3D%3D",limite_ZEE, mode="w")
unzip(limite_ZEE, exdir = "data/")
Se trata de dos capas con representación de tipo vectorial shapefile, una con polígonos y la otra con líneas. Ahora las cargaremos en R, como objeto espacial de tipo vectorial. Si no tienen instaladas las librerías a usar en este y otros códigos, recuerden instalarlas antes de cargarlas.
library(sf)
areasprotegidas <- st_read("data/area_protegida.shp", quiet=TRUE)
limite_ZEE <- st_read("data/linea_de_limite_070107.shp", quiet=TRUE)
Vamos ahora a visualizar estas capas en un mapa, usando la librería tmap y el modo interactivo view. Primero configuramos la salida del mapa.
library(tmap)
tmap_mode("view")
Ahora elaboramos el mapa.
mapa <- tm_shape(areasprotegidas) +
tm_polygons(col="green") +
tm_shape(limite_ZEE) +
tm_lines(col="violet")
mapa